#!/usr/bin/perl -w
# Author: Allen Hutchison
# Copyright (C) 2006 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
#      Unless required by applicable law or agreed to in writing, software
#      distributed under the License is distributed on an "AS IS" BASIS,
#      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#      See the License for the specific language governing permissions and
#      limitations under the License.
#
# Unit tests for Oaf::Suite

use lib "../";
use Test::More tests => 7;

use strict;
use warnings;

BEGIN { use_ok('Oaf::Suite') };

my $suite = Oaf::Suite->new('oaf.config_file' => 'test_config_file',
			    'oaf.suite_file'  => 'test_suite_file');
ok((defined($suite) and (ref $suite eq 'Oaf::Suite')), 'new() test');

is($suite->get_param('dev32', 'item1'), 1, 'get_param for existing param in config file');

is($suite->get_param('unit_test', 'test_var_1'), 1, 'get_param for embedded config');

is($suite->get_param('unit_test', 'email'), 'foo@bar.com', 'get_param for embedded config');

my $val = 0;
while ($suite->has_tests()) {
  print $suite->pop_test(), "\n";
  $val++;
}
is($val, 3, 'has_tests and pop_test');

$suite->push_test("test_test_test");
is($suite->pop_test(), 'test_test_test', 'push_test and pop_test');


